package com.lordofthejars.nosqlunit.demo.vault;
import com.bettercloud.vault.VaultConfig;
import com.lordofthejars.nosqlunit.annotation.UsingDataSet;
import com.lordofthejars.nosqlunit.core.LoadStrategyEnum;
import com.lordofthejars.nosqlunit.vault.VaultRule;
import org.hamcrest.CoreMatchers;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import java.util.Map;
import static org.junit.Assert.assertThat;
public class CubbyholeTest {
private static final String ROOT_TOKEN = "fff3c8b5-2722-d6ac-128c-b48a1258c06f";
@Rule
public VaultRule vaultRule = VaultRule.defaultRemoteVault("http://192.168.99.100:8200", ROOT_TOKEN);
//This token is provided usually by cloud script in form of env variable
private String tempToken = "c56a4180-65aa-42ec-a945-5fd21dec0538";
@Test
@UsingDataSet(locations = "cubbyhole-setup.yml", loadStrategy = LoadStrategyEnum.INSERT)
public void should_get_username_password_in_secured_way() {
VaultConfig vaultConfig = new VaultConfig();
vaultConfig.address("http://192.168.99.100:8200");
Cubbyhole cubbyhole = new Cubbyhole(vaultConfig, "temp");
final Map<String, String> usernameAndPassword = cubbyhole.getUsernameAndPassword(tempToken);
assertThat(usernameAndPassword.get("username"), CoreMatchers.is("ada"));
assertThat(usernameAndPassword.get("password"), CoreMatchers.is("alexandra"));
}
}